﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DailyComics.Common.Model.ImageProviderFactory;
using DailyComics.Common.Utilities.CachingStrategiesFactory;
using DailyComics.Common.Model.ImageProvideStrategyFactories;
using DailyComics.Common.Model;
using DailyComics.Common.Utilities.ImageProviderDecorator;
using DailyComics.Common.Model.CachingStrategies;

namespace DailyComics.Common.Utilities.ImageProviderFactory
{
  public static class ImageProviders
  {
    public static IImageProvider WulfMorgenthalerFactoryDK()
    {
      ImageProvider provider = new ImageProvider(new WebPageImageProviderStrategyFactory());
      ImageProviderCacheDecorator fileCache = new ImageProviderCacheDecorator(provider, new FileCacheStrategy("images/wulfmorgenthaler/DK"));
      ImageProviderCacheDecorator memoryCache = new ImageProviderCacheDecorator(fileCache, new MemoryCacheStrategy(50));

      return memoryCache;
    }
  }
}
